/**
 * @param {string} s
 * @return {string}
 */
var longestPalindrome = function (s) {
  //特殊情况处理
  if (s.length < 2) return s
  //最长回文字串的开始位置，最大长度
  let start = 0, maxLen = 0

  function centerAround(left, right) {
    while (left >= 0 && right < s.length && s[left] === s[right]) {
      //如果当前回文字串的长度大于原先，更新起始点和最大长度
      if ((right - left + 1) > maxLen) {
        start = left
        maxLen = right - left + 1
      }
      // 继续向两边扩展
      left--
      right++
    }
  }

  for (let i = 0; i < s.length; i++) {
    centerAround(i, i)//"奇数"时中心扩展
    centerAround(i, i + 1)//“偶数”时中心扩展
  }

  //返回结果
  return s.substring(start, start + maxLen)
};